<!DOCTYPE html>
<html lang="zh-CN" dir="ltr">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width,initial-scale=1">
    <title>数据库系统概论 | 小胡</title>
    <meta name="description" content="A VitePress site">
    <link rel="preload stylesheet" href="/hyx-blog/assets/style.a7b496fa.css" as="style">
    <link rel="modulepreload" href="/hyx-blog/assets/app.ee67ddbc.js">
    <link rel="modulepreload" href="/hyx-blog/assets/summary_sjk_index.md.c1235dbf.lean.js">
    
    <meta name="theme-color" content="#3eaf7c">
  <meta name="apple-mobile-web-app-capable" content="yes">
  <meta name="apple-mobile-web-app-status-bar-style" content="black">
  <link rel="apple-touch-icon" href="/favicon.ico">
  <link rel="mask-icon" href="/favicon.ico" color="#3eaf7c">
  <meta name="msapplication-TileImage" content="/favicon.ico">
  <script id="check-dark-light">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
  </head>
  <body>
    <div id="app"><div class="Layout" data-v-93a960b4><!--[--><!--]--><!--[--><span tabindex="-1" data-v-151f2593></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-151f2593> Skip to content </a><!--]--><!----><header class="VPNav" data-v-93a960b4 data-v-0fa0e57d><div class="VPNavBar has-sidebar" data-v-0fa0e57d data-v-be450ad9><div class="container" data-v-be450ad9><div class="title" data-v-be450ad9><div class="VPNavBarTitle has-sidebar" data-v-be450ad9 data-v-6d2fb2d9><a class="title" href="/hyx-blog/" data-v-6d2fb2d9><!--[--><!--]--><!--[--><img class="VPImage logo" src="/hyx-blog/favicon.ico" alt data-v-6db2186b><!--]--><!--[-->hu<!--]--><!--[--><!--]--></a></div></div><div class="content" data-v-be450ad9><div class="curtain" data-v-be450ad9></div><div class="content-body" data-v-be450ad9><!--[--><!--]--><!----><nav aria-labelledby="main-nav-aria-label" class="VPNavBarMenu menu" data-v-be450ad9 data-v-bdedfc22><span id="main-nav-aria-label" class="visually-hidden" data-v-bdedfc22>Main Navigation</span><!--[--><!--[--><a class="VPLink link VPNavBarMenuLink active" href="/hyx-blog/summary/sjk/" data-v-bdedfc22 data-v-f2ec7ecf data-v-a8b5c975><!--[-->考研总结<!--]--><!----></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/hyx-blog/curriculum-vitae/" data-v-bdedfc22 data-v-f2ec7ecf data-v-a8b5c975><!--[-->个人简历<!--]--><!----></a><!--]--><!--]--></nav><!----><div class="VPNavBarAppearance appearance" data-v-be450ad9 data-v-da3f667a><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" aria-label="toggle dark mode" aria-checked="false" data-v-da3f667a data-v-0d529b6d data-v-f3c41672><span class="check" data-v-f3c41672><span class="icon" data-v-f3c41672><!--[--><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="sun" data-v-0d529b6d><path d="M12,18c-3.3,0-6-2.7-6-6s2.7-6,6-6s6,2.7,6,6S15.3,18,12,18zM12,8c-2.2,0-4,1.8-4,4c0,2.2,1.8,4,4,4c2.2,0,4-1.8,4-4C16,9.8,14.2,8,12,8z"></path><path d="M12,4c-0.6,0-1-0.4-1-1V1c0-0.6,0.4-1,1-1s1,0.4,1,1v2C13,3.6,12.6,4,12,4z"></path><path d="M12,24c-0.6,0-1-0.4-1-1v-2c0-0.6,0.4-1,1-1s1,0.4,1,1v2C13,23.6,12.6,24,12,24z"></path><path d="M5.6,6.6c-0.3,0-0.5-0.1-0.7-0.3L3.5,4.9c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l1.4,1.4c0.4,0.4,0.4,1,0,1.4C6.2,6.5,5.9,6.6,5.6,6.6z"></path><path d="M19.8,20.8c-0.3,0-0.5-0.1-0.7-0.3l-1.4-1.4c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l1.4,1.4c0.4,0.4,0.4,1,0,1.4C20.3,20.7,20,20.8,19.8,20.8z"></path><path d="M3,13H1c-0.6,0-1-0.4-1-1s0.4-1,1-1h2c0.6,0,1,0.4,1,1S3.6,13,3,13z"></path><path d="M23,13h-2c-0.6,0-1-0.4-1-1s0.4-1,1-1h2c0.6,0,1,0.4,1,1S23.6,13,23,13z"></path><path d="M4.2,20.8c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l1.4-1.4c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-1.4,1.4C4.7,20.7,4.5,20.8,4.2,20.8z"></path><path d="M18.4,6.6c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l1.4-1.4c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-1.4,1.4C18.9,6.5,18.6,6.6,18.4,6.6z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="moon" data-v-0d529b6d><path d="M12.1,22c-0.3,0-0.6,0-0.9,0c-5.5-0.5-9.5-5.4-9-10.9c0.4-4.8,4.2-8.6,9-9c0.4,0,0.8,0.2,1,0.5c0.2,0.3,0.2,0.8-0.1,1.1c-2,2.7-1.4,6.4,1.3,8.4c2.1,1.6,5,1.6,7.1,0c0.3-0.2,0.7-0.3,1.1-0.1c0.3,0.2,0.5,0.6,0.5,1c-0.2,2.7-1.5,5.1-3.6,6.8C16.6,21.2,14.4,22,12.1,22zM9.3,4.4c-2.9,1-5,3.6-5.2,6.8c-0.4,4.4,2.8,8.3,7.2,8.7c2.1,0.2,4.2-0.4,5.8-1.8c1.1-0.9,1.9-2.1,2.4-3.4c-2.5,0.9-5.3,0.5-7.5-1.1C9.2,11.4,8.1,7.7,9.3,4.4z"></path></svg><!--]--></span></span></button></div><div class="VPSocialLinks VPNavBarSocialLinks social-links" data-v-be450ad9 data-v-2ab2a029 data-v-f6988cfb><!--[--><a class="VPSocialLink" href="https://github.com/hyx-ya" target="_blank" rel="noopener" data-v-f6988cfb data-v-e57698f6><svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>GitHub</title><path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"/></svg></a><!--]--></div><div class="VPFlyout VPNavBarExtra extra" data-v-be450ad9 data-v-66bb1f24 data-v-96001b6b><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="extra navigation" data-v-96001b6b><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="icon" data-v-96001b6b><circle cx="12" cy="12" r="2"></circle><circle cx="19" cy="12" r="2"></circle><circle cx="5" cy="12" r="2"></circle></svg></button><div class="menu" data-v-96001b6b><div class="VPMenu" data-v-96001b6b data-v-e7ea1737><!----><!--[--><!--[--><!----><div class="group" data-v-66bb1f24><div class="item appearance" data-v-66bb1f24><p class="label" data-v-66bb1f24>Appearance</p><div class="appearance-action" data-v-66bb1f24><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" aria-label="toggle dark mode" aria-checked="false" data-v-66bb1f24 data-v-0d529b6d data-v-f3c41672><span class="check" data-v-f3c41672><span class="icon" data-v-f3c41672><!--[--><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="sun" data-v-0d529b6d><path d="M12,18c-3.3,0-6-2.7-6-6s2.7-6,6-6s6,2.7,6,6S15.3,18,12,18zM12,8c-2.2,0-4,1.8-4,4c0,2.2,1.8,4,4,4c2.2,0,4-1.8,4-4C16,9.8,14.2,8,12,8z"></path><path d="M12,4c-0.6,0-1-0.4-1-1V1c0-0.6,0.4-1,1-1s1,0.4,1,1v2C13,3.6,12.6,4,12,4z"></path><path d="M12,24c-0.6,0-1-0.4-1-1v-2c0-0.6,0.4-1,1-1s1,0.4,1,1v2C13,23.6,12.6,24,12,24z"></path><path d="M5.6,6.6c-0.3,0-0.5-0.1-0.7-0.3L3.5,4.9c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l1.4,1.4c0.4,0.4,0.4,1,0,1.4C6.2,6.5,5.9,6.6,5.6,6.6z"></path><path d="M19.8,20.8c-0.3,0-0.5-0.1-0.7-0.3l-1.4-1.4c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l1.4,1.4c0.4,0.4,0.4,1,0,1.4C20.3,20.7,20,20.8,19.8,20.8z"></path><path d="M3,13H1c-0.6,0-1-0.4-1-1s0.4-1,1-1h2c0.6,0,1,0.4,1,1S3.6,13,3,13z"></path><path d="M23,13h-2c-0.6,0-1-0.4-1-1s0.4-1,1-1h2c0.6,0,1,0.4,1,1S23.6,13,23,13z"></path><path d="M4.2,20.8c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l1.4-1.4c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-1.4,1.4C4.7,20.7,4.5,20.8,4.2,20.8z"></path><path d="M18.4,6.6c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l1.4-1.4c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-1.4,1.4C18.9,6.5,18.6,6.6,18.4,6.6z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="moon" data-v-0d529b6d><path d="M12.1,22c-0.3,0-0.6,0-0.9,0c-5.5-0.5-9.5-5.4-9-10.9c0.4-4.8,4.2-8.6,9-9c0.4,0,0.8,0.2,1,0.5c0.2,0.3,0.2,0.8-0.1,1.1c-2,2.7-1.4,6.4,1.3,8.4c2.1,1.6,5,1.6,7.1,0c0.3-0.2,0.7-0.3,1.1-0.1c0.3,0.2,0.5,0.6,0.5,1c-0.2,2.7-1.5,5.1-3.6,6.8C16.6,21.2,14.4,22,12.1,22zM9.3,4.4c-2.9,1-5,3.6-5.2,6.8c-0.4,4.4,2.8,8.3,7.2,8.7c2.1,0.2,4.2-0.4,5.8-1.8c1.1-0.9,1.9-2.1,2.4-3.4c-2.5,0.9-5.3,0.5-7.5-1.1C9.2,11.4,8.1,7.7,9.3,4.4z"></path></svg><!--]--></span></span></button></div></div></div><div class="group" data-v-66bb1f24><div class="item social-links" data-v-66bb1f24><div class="VPSocialLinks social-links-list" data-v-66bb1f24 data-v-f6988cfb><!--[--><a class="VPSocialLink" href="https://github.com/hyx-ya" target="_blank" rel="noopener" data-v-f6988cfb data-v-e57698f6><svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>GitHub</title><path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"/></svg></a><!--]--></div></div></div><!--]--><!--]--></div></div></div><!--[--><!--]--><button type="button" class="VPNavBarHamburger hamburger" aria-label="mobile navigation" aria-expanded="false" aria-controls="VPNavScreen" data-v-be450ad9 data-v-e5dd9c1c><span class="container" data-v-e5dd9c1c><span class="top" data-v-e5dd9c1c></span><span class="middle" data-v-e5dd9c1c></span><span class="bottom" data-v-e5dd9c1c></span></span></button></div></div></div></div><!----></header><div class="VPLocalNav" data-v-93a960b4 data-v-2817d72e><button class="menu" aria-expanded="false" aria-controls="VPSidebarNav" data-v-2817d72e><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="menu-icon" data-v-2817d72e><path d="M17,11H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h14c0.6,0,1,0.4,1,1S17.6,11,17,11z"></path><path d="M21,7H3C2.4,7,2,6.6,2,6s0.4-1,1-1h18c0.6,0,1,0.4,1,1S21.6,7,21,7z"></path><path d="M21,15H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h18c0.6,0,1,0.4,1,1S21.6,15,21,15z"></path><path d="M17,19H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h14c0.6,0,1,0.4,1,1S17.6,19,17,19z"></path></svg><span class="menu-text" data-v-2817d72e>Menu</span></button><a class="top-link" href="#" data-v-2817d72e>Return to top</a></div><aside class="VPSidebar" data-v-93a960b4 data-v-c79ccefa><div class="curtain" data-v-c79ccefa></div><nav class="nav" id="VPSidebarNav" aria-labelledby="sidebar-aria-label" tabindex="-1" data-v-c79ccefa><span class="visually-hidden" id="sidebar-aria-label" data-v-c79ccefa> Sidebar Navigation </span><!--[--><!--]--><!--[--><div class="group" data-v-c79ccefa><section class="VPSidebarItem level-0 collapsible has-active" data-v-c79ccefa data-v-983f6b21><div class="item" role="button" data-v-983f6b21><div class="indicator" data-v-983f6b21></div><a class="VPLink link" data-v-983f6b21 data-v-a8b5c975><!--[--><h2 class="text" data-v-983f6b21>数据库系统</h2><!--]--><!----></a><div class="caret" role="button" data-v-983f6b21><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="caret-icon" data-v-983f6b21><path d="M9,19c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l5.3-5.3L8.3,6.7c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l6,6c0.4,0.4,0.4,1,0,1.4l-6,6C9.5,18.9,9.3,19,9,19z"></path></svg></div></div><div class="items" data-v-983f6b21><!--[--><div class="VPSidebarItem level-1 is-link is-active has-active" data-v-983f6b21 data-v-983f6b21><div class="item" data-v-983f6b21><div class="indicator" data-v-983f6b21></div><a class="VPLink link link" href="/hyx-blog/summary/sjk/" data-v-983f6b21 data-v-a8b5c975><!--[--><p class="text" data-v-983f6b21>亿些知识点</p><!--]--><!----></a><!----></div><!----></div><!--]--></div></section></div><div class="group" data-v-c79ccefa><section class="VPSidebarItem level-0 collapsible" data-v-c79ccefa data-v-983f6b21><div class="item" role="button" data-v-983f6b21><div class="indicator" data-v-983f6b21></div><a class="VPLink link" data-v-983f6b21 data-v-a8b5c975><!--[--><h2 class="text" data-v-983f6b21>计算机网络</h2><!--]--><!----></a><div class="caret" role="button" data-v-983f6b21><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="caret-icon" data-v-983f6b21><path d="M9,19c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l5.3-5.3L8.3,6.7c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l6,6c0.4,0.4,0.4,1,0,1.4l-6,6C9.5,18.9,9.3,19,9,19z"></path></svg></div></div><div class="items" data-v-983f6b21><!--[--><div class="VPSidebarItem level-1 is-link" data-v-983f6b21 data-v-983f6b21><div class="item" data-v-983f6b21><div class="indicator" data-v-983f6b21></div><a class="VPLink link link" href="/hyx-blog/summary/jw/" data-v-983f6b21 data-v-a8b5c975><!--[--><p class="text" data-v-983f6b21>亿些知识点</p><!--]--><!----></a><!----></div><!----></div><!--]--></div></section></div><div class="group" data-v-c79ccefa><section class="VPSidebarItem level-0 collapsible" data-v-c79ccefa data-v-983f6b21><div class="item" role="button" data-v-983f6b21><div class="indicator" data-v-983f6b21></div><a class="VPLink link" data-v-983f6b21 data-v-a8b5c975><!--[--><h2 class="text" data-v-983f6b21>自我介绍</h2><!--]--><!----></a><div class="caret" role="button" data-v-983f6b21><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="caret-icon" data-v-983f6b21><path d="M9,19c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l5.3-5.3L8.3,6.7c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l6,6c0.4,0.4,0.4,1,0,1.4l-6,6C9.5,18.9,9.3,19,9,19z"></path></svg></div></div><div class="items" data-v-983f6b21><!--[--><div class="VPSidebarItem level-1 is-link" data-v-983f6b21 data-v-983f6b21><div class="item" data-v-983f6b21><div class="indicator" data-v-983f6b21></div><a class="VPLink link link" href="/hyx-blog/summary/introduce/" data-v-983f6b21 data-v-a8b5c975><!--[--><p class="text" data-v-983f6b21>introduce</p><!--]--><!----></a><!----></div><!----></div><!--]--></div></section></div><!--]--><!--[--><!--]--></nav></aside><div class="VPContent has-sidebar" id="VPContent" data-v-93a960b4 data-v-0bd490fb><div class="VPDoc has-sidebar has-aside" data-v-0bd490fb data-v-c5936a1e><div class="container" data-v-c5936a1e><div class="aside" data-v-c5936a1e><div class="aside-curtain" data-v-c5936a1e></div><div class="aside-container" data-v-c5936a1e><div class="aside-content" data-v-c5936a1e><div class="VPDocAside" data-v-c5936a1e data-v-cdc66372><!--[--><!--]--><!--[--><!--]--><div class="VPDocAsideOutline" data-v-cdc66372 data-v-5dd9d5f6><div class="content" data-v-5dd9d5f6><div class="outline-marker" data-v-5dd9d5f6></div><div class="outline-title" data-v-5dd9d5f6>On this page</div><nav aria-labelledby="doc-outline-aria-label" data-v-5dd9d5f6><span class="visually-hidden" id="doc-outline-aria-label" data-v-5dd9d5f6> Table of Contents for current page </span><ul class="root" data-v-5dd9d5f6 data-v-1188541a><!--[--><!--]--></ul></nav></div></div><!--[--><!--]--><div class="spacer" data-v-cdc66372></div><!--[--><!--]--><!----><!--[--><!--]--><!--[--><!--]--></div></div></div></div><div class="content" data-v-c5936a1e><div class="content-container" data-v-c5936a1e><!--[--><!--]--><main class="main" data-v-c5936a1e><div style="position:relative;" class="vp-doc _hyx-blog_summary_sjk_index" data-v-c5936a1e><div><h1 id="数据库系统概论" tabindex="-1">数据库系统概论 <a class="header-anchor" href="#数据库系统概论" aria-hidden="true">#</a></h1><h2 id="第一章-绪论" tabindex="-1">第一章：绪论 <a class="header-anchor" href="#第一章-绪论" aria-hidden="true">#</a></h2><ol><li>试述数据、数据库、数据库管理系统、数据库系统的概念</li></ol><blockquote><p>数据：描述事物的符号记录称为数据。数据的种类有数字、文字、图形、图像、声音、正文等。数据与其语义是不可分的。 数据库：数据库是长期储存在计算机内的、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和储存，具有较小的冗余度、较高的数据独立性和易扩展性，并可为各种用户共享。 数据库管理系统：数据库管理系统是位于用户与操作系统之间的一层数据管理软件，用于科学地组织和存储数据、高效地获取和维护数据。DBMS的主要功能包括数据定义功能、 数据操纵功能、数据库的运行管理功能、数据库的建立和维护功能。 数据库系统：数据库系统是指在计算机系统中引入数据库后的系统构成，一般由数据库、数据库管理系统（及其开发工具）、应用系统、数据库管理员构成。</p></blockquote><ol start="2"><li>试述文件系统与数据库系统的区别和联系</li></ol><blockquote><p>区别：文件系统面向某一应用程序，共享性差，冗余度大，数据独立性差，记录内有结构，整体无结构，由应用程序自己控制。 数据库系统面向现实世界，共享性高，冗余度小，具有较高的物理独立性和一定的逻辑独立型，整体结构化，用数据模型描述，由数据库管理系统提供数据的安全性、完整性、并发控制和恢复能力。<br> 联系：文件系统与数据库系统都是计算机系统中管理数据的软件。</p></blockquote><ol start="3"><li>试述数据库系统的特点</li></ol><blockquote><p>（1）数据结构化<br> （2）数据的共享性高，冗余度低，易扩充<br> （3）数据独立性高<br> （4）数据由DBMS统一管理和控制</p></blockquote><ol start="4"><li>数据库管理系统的主要功能有哪些？</li></ol><blockquote><p>（1）数据库定义功能 （2）数据存取功能 （3）数据库运行管理 （4）数据库建立和维护功能</p></blockquote><ol start="5"><li>试述概念模型的作用。</li></ol><blockquote><p>概念模型实际上是现实世界到机器世界的一个中间层次。概念模型用于信息世界的建模，是现实世界到信息世界的第一层抽象，是数据库设计人员进行数据库设计的有力工具，也是数据库设计人员和用户之间进行交流的语言</p></blockquote><ol start="6"><li>试述关系数据库的特点。</li></ol><blockquote><p>关系数据库具有下列优点： （1）关系模型与非关系模型不同，它是建立在严格的数学概念的基础上的。<br> （2）关系模型的概念单一，无论实体还是实体之间的联系都用关系表示，操作的对象和操作的结果都是关系，所以其数据结构简单、清晰，用户易懂易用。<br> （3）关系模型的存取路径对用户透明，从而具有更高的数据独立性、更好的安全保密性，也简化了程序员的工作和数据库开发建立的工作。<br> 关系数据模型也有缺点，其中最主要的缺点是，由于存取路径对用户透明，查询效率往往不如非关系数据模型。因此为了提高性能，必须对用户的查询请求进行优化，增加了开发数据库管理系统的难度。</p></blockquote><ol start="7"><li>试述数据库系统的三级模式结构，这种结构的优点是什么？</li></ol><blockquote><p>数据库系统的三级模式结构由外模式、模式和内模式组成。<br> 数据库系统的三级模式结构是对数据的三个抽象级别，它把数据的具体组织留给DBMS管理，使用户能逻辑抽象地处理数据，而不必关心数据在计算机中的表示和存储。<br> 为了能够在内部实现这三个抽象层次的联系和转换，数据库系统在这三级模式之间提供了两层映像：外模式/模式映像和模式/内模式映像。正是这两层映像保证了数据库系统中的数据能够具有较高的而逻辑独立型和物理独立性。</p></blockquote><ol start="8"><li>什么叫数据与程序的物理独立性？什么叫数据与程序的逻辑独立性？为什么数据库系统具有数据与程序的独立性？</li></ol><blockquote><p>数据与程序的逻辑独立性：当模式改变时（例如增加新的关系、新的属性、改变属性的数据类型等），由数据库管理员对各个外模式/模式的映像做相应改变，可以使外模式保持不变。应用程序是依据数据的外模式编写的，从而应用程序不必修改，保证了数据与程序的逻辑独立性，简称数据的逻辑独立型。<br> 数据与程序的物理独立性：当数据库的存储结构改变了，由数据库管理员对模式/内模式映像做相应改变，可以使模式保持不变，从而应用程序也不必改变，保证了数据与程序的物理独立性，简称数据的物理独立性。 数据库管理系统在三级模式之间提供的两层映像保证了数据库系统中数据能够具有较高的逻辑独立性和物理独立性。</p></blockquote><ol start="9"><li>试述数据库系统的组成。</li></ol><blockquote><p>数据库系统一般有数据库、数据库管理系统（及其开发工具）、应用系统、数据库管理员和用户构成。</p></blockquote><ol start="10"><li>DBA的职责是什么？</li></ol><blockquote><p>负责全面地管理和控制数据库系统。具体职责包括：<br> （1）决定数据库的信息内容和结构；<br> （2）决定数据库的存储结构和存取策略；<br> （3）定义数据的安全性要求和完整性约束条件；<br> （4）监督和控制数据库的使用和运行；<br> （5）改进和重组数据库系统。</p></blockquote><p>11.系统分析员、数据库设计人员、应用程序员的职责是什么？</p><blockquote><p>系统分析员负责应用系统的需求分析和规范说明，系统分析员要和用户及DBA相结合，确定系统的硬件、软件配置，并参与数据库系统的概要设计。<br> 数据库设计人员负责数据库中数据的确定、数据库各级模式的设计。数据库设计人员必须参加用户需求调查和系统分析，然后进行数据设计。在很多情况下，数据库设计人员就由数据库管理员担任。<br> 应用程序员负责设计和编写应用系统的程序模块，并进行调试和安装。</p></blockquote><h2 id="第二章-关系数据库" tabindex="-1">第二章：关系数据库 <a class="header-anchor" href="#第二章-关系数据库" aria-hidden="true">#</a></h2><p>1.试述关系模型的三个组成部分。</p><blockquote><p>关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。</p></blockquote><p>2.试述关系数据语言的特点和分类</p><blockquote><p>关系数据语言可以分为三类：<br> 1）关系代数语言，例如ISBL。<br> 2）关系演算语言：元组关系演算语言，例如APLHA，QUEL；域关系演算语言，例如QBE。<br> 3）具有关系代数和关系演算双重特点的语言，例如SQL。<br> 这些关系数据语言的共同特点是：具有完备的表达能力；是非过程化的集合操作语言；功能强；能够嵌入高级语言中使用。</p></blockquote><p>3.试述关系模型的完整性规则。在参照完整性中，为什么外部码属性的值也可以为空？什么情况下才可以为空？</p><blockquote><p>实体完整性规则：若属性A是基本关系R的主属性，则属性A不能取空值。<br> 参照完整性规则：若属性（或属性组）F是基本关系R的外码，它与基本关系S的主码Ks相对应（基本关系R和S不一定是不同的关系），则对于R中每个元组在F上的值必须为：1）或者取空值；2）或者等于S中某个元组的主码值。<br> 用户定义的完整性是针对某一具体关系数据库的约束条件。它反映某一具体应用所涉及的数据必须满足的语义要求。<br> 在参照完整性中，外部码属性的值可以为空，它表示该属性的值尚未确定，但前提条件是该外部码属性不是其所在关系的主属性。</p></blockquote><p>4.试述等值连接与自然连接的区别和联系。</p><blockquote><p>连接运算中有两种最为常用的连接，一种是等值连接，另一种是自然连接。θ为“=”的连接运算，称为等值连接。它是从关系R与S的笛卡尔积中选取A、B属性值相等的那些元组。<br> 自然连接是一种特殊的等值连接，它要求两个关系中进行比较的分量必须是相同的属性组，并且在结果中把重复的属性列去掉。</p></blockquote><h2 id="第三章-sql" tabindex="-1">第三章：SQL <a class="header-anchor" href="#第三章-sql" aria-hidden="true">#</a></h2><ol><li>试述SQL语言的特点</li></ol><blockquote><p>（1）综合统一。SQL语言集数据定义语言DDL、数据操纵语言DML、数据控制语言DCL的功能于一体。<br> （2）高度非过程化。用SQL语言进行数据操作，只要提出“做什么”，而无需指明“怎么做”，因此无需了解存取路径，存取路径的选择以及SQL语句的操作过程由系统自动完成。<br> （3）面向集合的操作方式。SQL语言采用集合操作方式，不仅操作对象、查找结果可以是元组的集合，而且一次插入、删除、更新操作的对象也可以是元组的集合。<br> （4）以同一种语言结构提供两种使用方式。SQL语言既是自含式语言，又是嵌入式语言。作为自含式语言，它能够独立地用于联机交互的使用方式；作为嵌入式语言，它能够嵌入到高级语言程序中，供程序员设计程序时使用。<br> （5）语言简捷、易学易用。</p></blockquote><ol start="2"><li>试述SQL的定义功能</li></ol><blockquote><p>SQL的额数据定义功能包括定义表、定义视图和定义索引。<br> SQL语言使用CREATE TABLE语句建立基本表，ALTER TABLE语句修改基本表定义，DROP TABLE语句删除基本表；使用CREATE INDEX语句建立索引，DROP TABLE语句删除索引；使用CREATE VIEW语句建立视图，DROP VIEW语句删除视图。</p></blockquote><ol start="3"><li>什么是基本表？什么是视图？两者的区别和联系是什么？</li></ol><blockquote><p>基本表是本身独立存在的表，在SQL中一个关系就对应一个表。<br> 视图是从一个或几个基本表导出的表。视图本身不独立存储在数据库中，是一个虚表。即数据库中只存放视图的定义而不存放视图对应的数据，这些数据仍存放在导出视图的基本表中。<br> 视图在概念上与基本表等同，用户可以如同基本表那样使用视图，可以在视图上再定义视图。</p></blockquote><ol start="4"><li>试述视图的优点</li></ol><blockquote><p>（1）视图能够简化用户的操作；<br> （2）视图使用户能以多种角度看待同一数据；<br> （3）视图对重构数据库提供了一定程度的逻辑独立性；<br> （4）视图能够对机密数据提供安全保护。</p></blockquote><ol start="5"><li>所有的视图是否都可以更新？为什么？</li></ol><blockquote><p>不是。<br> 视图是不实际存储数据的虚表，因此对试图的更新，最终要转换为对基本表的更新。因为有些视图的更新不能惟一有意义地转换成对相应基本表的更新，所以，并不是所有的视图都是可更新的。</p></blockquote><ol start="6"><li>哪类视图是可以更新的？哪类视图是不可更新的？各举一例说明。</li></ol><blockquote><p>基本表的行列子集视图一般是可更新.<br> 若视图的属性来自集函数、表达式，则该视图肯定是不可以更新的.</p></blockquote><h2 id="第四章-数据库安全性" tabindex="-1">第四章:数据库安全性 <a class="header-anchor" href="#第四章-数据库安全性" aria-hidden="true">#</a></h2><ol><li>什么是数据库安全性？</li></ol><blockquote><p>数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。</p></blockquote><ol start="2"><li>数据库安全性和计算机系统的安全性有什么关系？</li></ol><blockquote><p>安全性问题不是数据库系统所独有的，所有计算机系统都有这个问题。只是在数据库系统中大量数据集中存放，而且为许多最终用户直接共享，从而使安全性问题更为突出。系统安全保护措施是否有效是数据库系统的主要指标之一。数据库的安全性和计算机系统的安全性，包括操作系统、网络系统的安全性是紧密联系、相互支持的。</p></blockquote><ol start="3"><li>试述实现数据库安全性控制的常用方法和技术。</li></ol><blockquote><p>是吸纳数据库安全控制的常用方法和技术有：<br> （1）用户表示和鉴别：该方法由系统提供一定的方式让用户标识自己的额名字或身份。每次用户要求进入系统时，由系统进行核对，通过鉴定后才提供系统的使用权。<br> （2）存取控制：通过用户权限定义和合法权检查确保只有合法权限的用户访问数据库，所有未被授权的人员无法存取数据。例如C2级中的自主存取控制（DAC），B1级中的强制存取控制（MAC）。<br> （3）视图机制：为不同的用户定义视图，通过视图机制把要保密的数据对无权存取的用户隐藏起来，从而自动地对数据提供一定程度的安全保护。<br> （4）审计：建立审计日志，把用户对数据库的所有操作自动记录下来放入审计日志中，DBA可以利用审计跟踪的信息，重现导致数据库现有状况的一系列事件，找出非法存取数据的人、时间和内容等。<br> （5）数据加密：对存储和传输的数据进行加密处理，从而使得不知道解密算法的人无法获知数据的内容。</p></blockquote><ol start="4"><li>什么是数据库中的自主存取控制方法和强制存取控制方法？</li></ol><blockquote><p>自主存取控制方法：定义各个用户对不同数据对象的存取权限。当用户对数据库访问时首先检查用户的存取权限。防止不合法用户对数据库的存取。<br> 强制存取控制方法：每一个数据对象被（强制地）标以一定的密级，每一个用户也被（强制地）授予某一个级别的许可证。系统规定只有具有某一许可证级别的用户才能存取某一个密级的数据对象。</p></blockquote><ol start="5"><li>SQL中提供了哪些数据控制的语句？</li></ol><blockquote><p>SQL中的自主存取控制室通过GRANT语句和REVOKE语句来实现的。</p></blockquote><ol start="6"><li>为什么强制存取控制提供了更高级别的数据库安全性？</li></ol><blockquote><p>强制存取控制（MAC）是对数据本身进行密级标记，无论数据如何复制，标记与数据是一个不可分的整体，只有符合密级标记要求的用户才可以操纵数据，从而提供了跟高级别的安全性.</p></blockquote><ol start="7"><li>理解并解释MAC机制中主体、客体、敏感度标记的含义。</li></ol><blockquote><p>主体是系统中的活动实体，既包括DBMS所管理的实际用户，也包括代表用户的个进程。<br> 客体是系统中的被动实体，是受主体操纵的，包括文件、基表、索引、视图等。<br> 对于主体和客体，DBMS为它们每个实例（值）指派一个敏感度标记（Label）。敏感度标记被分成若干级别，例如绝密（Top Secret）、机密（Secret）、可信（Confidential）、公开（Public）等。主体的敏感度标记称为许可证级别，客体的敏感度标记称为密级。</p></blockquote><ol start="8"><li>什么是数据库的审计功能，为什么要提供审计功能？</li></ol><blockquote><p>审计功能是指DBMS的审计模块在用户对数据库执行操作的同时把所有操作自动记录到系统的审计日志中。<br> 因为任何系统的安全保护措施都不是完美无缺的，蓄意盗窃破坏数据的人总可能存在。利用数据库的审计功能，DBA可以根据审计跟踪的信息，重现导致数据库现有状况的一系列事件，找出非法存取数据的人、时间和内容等。</p></blockquote><ol start="9"><li>统计数据库中存在何种特殊的安全性问题？</li></ol><blockquote><p>统计数据库允许用户查询聚集类型的信息，如合计、平均值、最大值、最小值等，不允许查询单个记录信息。但是，人们可以从合法的查询中推导出不合法的信息，即可能存在隐蔽的信息通道，这是统计数据库要研究和解决的特殊的安全性问题。</p></blockquote><h2 id="第五章-数据完整性" tabindex="-1">第五章 数据完整性 <a class="header-anchor" href="#第五章-数据完整性" aria-hidden="true">#</a></h2><ol><li>什么是数据库的完整性？</li></ol><blockquote><p>数据库的完整性是指数据的正确性和相容性。</p></blockquote><ol start="2"><li>数据库的完整性概念与数据库的安全性概念有什么区别和联系？</li></ol><blockquote><p>数据的完整性和安全性是两个不同的概念，但是有一定的联系。<br> 前者是为了防止数据库中存在不符合语义的数据，防止错误信息的输入和输出，即所谓垃圾进垃圾出所造成的无效操作和错误结果。 后者是保护数据库防止恶意的破坏和非法的存取。也就是说，安全性措施的防范对象是非法用户和非法操作，完整性措施的防范对象是不合语义的数据。</p></blockquote><ol start="3"><li>什么是数据库的完整性约束条件？</li></ol><blockquote><p>完整性约束条件是指数据库中的数据应该满足的语义约束条件。一般可以分为六类：静态列级约束、静态元组约束、静态关系约束、动态列级约束、动态元组约束、动态关系约束。</p></blockquote><ol start="4"><li>RDBMS的完整性控制机制应具有哪些功能？</li></ol><blockquote><p>DBMS的完整性控制机制应具有三个方面的功能：<br> （1）定义功能，即提供定义完整性约束条件的机制；<br> （2）检查功能，及检查用户发出的操作请求是否违背了完整性约束条件；<br> （3）违约反应：如果发现用户的操作请求使数据违背了完整性约束条件，则采取一定的动作来保证数据的完整性。</p></blockquote><ol start="5"><li>RDBMS在实现参照完整性时需要考虑哪些方面？</li></ol><blockquote><p>RDBMS在实现参照完整性时需要考虑以下几个方面：<br> （1）外码是否可以接受空值。<br> （2）删除被参照关系的元组时的考虑，这时系统可能采取的做法有三种：级联删除、受限删除、置空值删除。<br> （3）在参照关系中插入元组时的问题，这时系统可能采取的作法有：受限插入、递归插入。<br> （4）修改关系中得主码的问题。一般是不能用UPDATE语句修改关系主码的。如果需要修改主码值，只能先删除该元组，然后再把具有新主码值的元组插入到关系中。如果允许修改主码，首先要保证主码的唯一性和非空，否则拒绝修改。然后要区分是参照关系还是被参照关系。</p></blockquote><ol start="6"><li>在关系系统中，当操作违反实体完整性、参照完整性和用户定义的完整性约束条件时，一般是如何分别进行处理的？</li></ol><blockquote><p>对于违反实体完整性和用户定义完整性的操作一般采用拒绝执行的方式进行处理。而对于违反参照完整性的操作，并不都是简单地拒绝执行，有时要根据应用语义执行一些附加的操作，以保证数据库的正确性。</p></blockquote><h2 id="第六章-关系数据理论" tabindex="-1">第六章：关系数据理论 <a class="header-anchor" href="#第六章-关系数据理论" aria-hidden="true">#</a></h2><ol><li>范式</li></ol><h2 id="第七章-数据库设计" tabindex="-1">第七章：数据库设计 <a class="header-anchor" href="#第七章-数据库设计" aria-hidden="true">#</a></h2><ol><li>试述数据库设计过程</li></ol><blockquote><p>数据库设计过程分以下六个阶段：<br> （1）需求分析；<br> （2）概念结构设计；<br> （3）逻辑结构设计；<br> （4）数据库物理设计；<br> （5）数据库实施；<br> （6）数据库运行维护。<br> 这是一个完整的实际数据库及其应用系统的设计过程。不仅包括设计数据库本身，还包括数据库的实施、运行和维护。设计一个完善的数据库应用系统往往是上述六个阶段的不断反复。</p></blockquote><ol start="2"><li>试述数据库设计过程各个阶段上的设计描述。</li></ol><blockquote><p>各阶段的设计要点如下：<br> （1）需求分析：准确了解与分析用户需求（包括数据与处理）。<br> （2）概念结构设计：通过对用户需求进行综合、归纳与抽象，形成一个独立于具体DBMS的概念模型。<br> （3）逻辑结构设计：将概念结构转换为某个DBMS所支持的数据模型，并对其进行优化。<br> （4）数据库物理设计：为逻辑数据模型选取一个最适合应用环境的物理结构（包括存储结构和存取方法）。<br> （5）数据库实施：设计人员运用DBMS提供的数据语言、工具及宿主语言，根据逻辑设计和物理设计的结果建立数据库，编制与调试应用程序，组织数据入库，并进行试运行。<br> （6）数据库运行和维护：在数据库系统运行过程中队其进行评价、调整与修改。</p></blockquote><ol start="3"><li>试述数据库设计过程中结构设计部分形成的数据库模式。</li></ol><blockquote><p>数据库结构设计的不同阶段形成数据库的各级模式，即：<br> （1）在概念设计阶段形成独立于机器特点，独立于各个DBMS产品的概念模式，就是E-R图。<br> （2）在逻辑设计阶段将E-R图转换成具体的数据库产品支持的数据模型，如关系模型，形成数据库逻辑模式，然后在基本表的基础上再建立必要的视图，形成数据的外模式。<br> （3）在物理设计阶段，根据DBMS特点和处理的需要，进行物理存储安排，建立索引，形成数据库内模式</p></blockquote><ol start="4"><li>试述数据库设计的特点。</li></ol><blockquote><p>数据库设计既是一项涉及多学科的综合性技术又是一项庞大的工程项目。其主要特点有：<br> （1）数据库建设是硬件、软件和干件（技术与管理的界面）的结合。<br> （2）从软件设计的技术角度看，数据库设计应该和应用系统设计相结合，也就是说，整个设计过程中要把结构（数据）设计和行为（处理）设计密切结合起来。</p></blockquote><ol start="5"><li>需求分析阶段的设计目标是什么？调查的内容是什么？</li></ol><blockquote><p>需求分析阶段的设计目标是通过详细调查现实世界要处理的对象（组织、部门、企业等），充分了解原系统（手工系统或计算机系统）工作概况，明确用户的各种需求，然后在此基础上确定新系统的功能。<br> 调查的内容是“数据”和“处理”，即获得用户对数据库的如下要求：<br> （1）信息要求，指用户需要从数据中获得信息的内容与性质，由信息要求可以导出数据要求，即在数据库中需要存储哪些数据；<br> （2）处理要求，指用户要完成什么处理功能，对处理的响应时间有什么要求，处理方式是批处理还是联机处理；<br> （3）安全性与完整性要求。</p></blockquote><ol start="6"><li>数据字典的内容和作用是什么？</li></ol><blockquote><p>数据字典的内容通常包括：<br> （1）数据项；<br> （2）数据结构；<br> （3）数据流；<br> （4）数据存储；<br> （5）处理过程。<br> 其中数据项是数据的最小组成单位，若干个数据项可以组成一个数据结构。数据字典通过对数据项和数据结构的定义来描述数据流和数据存储的逻辑内容。<br> 数据字典的作用：数据字典是关于数据库中数据的描述，在需求分析阶段建立，是下一步进行概念设计的基础，并在数据库设计过程中不断修改、充实、完善。</p></blockquote><ol start="7"><li>什么是数据库的概念结构？试述其特点和设计策略。</li></ol><blockquote><p>概念结构是信息世界的结构，及概念模型，其主要特点是：<br> （1）能真实、充分地反映现实世界，包括事物和事物之间的联系，能满足用户对数据的处理要求，是对现实世界的一个真实模型；<br> （2）易于理解，从而可以用它和不熟悉计算机的用户交换意见，用户的积极参与是数据库设计成功的关键；<br> （3）易于更改，当应用环境和应用要求改变时，容易对概念模型修改和扩充；<br> （4）易于向关系、网状、层次等各种数据模型转换。<br> 概念结构的设计策略通常有四种：<br> 1）自顶向下，即首先定义全局概念结构的框架，然后逐步细化；<br> 2）自底向上，即首先定义各局部应用的概念结构，然后将它们集成起来，得到全局概念结构；<br> 3）逐步扩张，首先定义最重要的核心概念结构，然后向外扩充，以滚雪球的方式逐步生成其他概念结构，直至总体概念结构；<br> 4）混合策略，即将自顶向下和自底向上相结合，用自顶向下策略设计一个全局概念结构的框架，以它为骨架集成由自底向上策略中设计的各局部概念结构。</p></blockquote><ol start="8"><li>什么叫数据抽象？</li></ol><blockquote><p>数据抽象是对实际的人、物、事和概念进行人为处理，抽取所关心的共同特性，忽略非本质的细节，并把这些特性用各种概念精确地加以描述，这些概念组成了某种模型。</p></blockquote><ol start="9"><li>试述数据库概念结构设计的重要性和设计步骤。</li></ol><blockquote><p>重要性：数据库概念设计是整个数据库设计的关键，将在需求分析阶段所得到的应用需求首先抽象为概念结构，以此作为各种数据模型的共同基础，从而能更好地、更准确地用某一DBMS实现这些需求。<br> 设计步骤：概念结构的设计方法有多种，其中最经常采用的策略是自底向上方法，该方法的设计步骤通常分为两步：第一步是抽象数据并设计局部视图，第二步是集成局部视图，得到全局的概念结构。</p></blockquote><ol start="10"><li>为什么要视图集成？视图集成的方法是什么？</li></ol><blockquote><p>在对数据库系统进行概念结构设计时一般采用自底向上的设计方法，把繁杂的大系统分解子系统。首先设计各个子系统的局部视图，然后通过视图集成的方式将各个子系统有机的融合起来，综合成一个系统的总视图。这样，设计清晰，由简到繁。由于数据库系统是从整体角度看待和描述数据的，因此数据不再面向某个应用而是整个系统。因此必须进行视图集成，使得数据库能被全系统的多个用户、多个应用共享使用。<br> 一般来说，视图集成可以有两种方式：<br> （1）多个分E-R图一次集成。<br> （2）逐步集成，用累加的方式一次集成两个分E-R图。<br> 无论采用哪种方式，每次集成局部E-R图时都需要分两步走：<br> （1）合并，解决各分E-R图之间的冲突，将各分E-R图合并起来生成初步E-R图；<br> （2）修改与重构，消除不必要的冗余，生成基本E-R图。</p></blockquote><ol start="11"><li>什么是数据库的逻辑结构设计？试述其设计步骤。</li></ol><blockquote><p>数据库的逻辑结构设计就是把概念结构设计阶段设计好的基本E-R图转换为与选用的DBMS产品所支持的数据模型相符合的逻辑结构。<br> 设计步骤为：<br> （1）将概念结构转换为一般的关系、网状、层次模型；<br> （2）将转换来的关系、网状、层次模型向特定DBMS支持下的数据模型转换；<br> （3）对数据模型进行优化。</p></blockquote><ol start="12"><li>规范化理论对数据库设计有什么指导意义？</li></ol><blockquote><p>规范化理论为数据库设计人员判断关系模式的优劣提供了理论标准，可用以指导关系数据模型的优化，用来预测模式可能出现的问题，为设计人员提供了自动产生各种模式的算法工具，使数据库设计工作有了严格的理论基础。</p></blockquote><ol start="13"><li>试述数据库物理设计的内容和步骤。</li></ol><blockquote><p>数据库在物理设备上的存储结构与存取方法称为数据库的物理结构，它依赖于给定的DBMS。为一个给定的逻辑数据模型选取一个最适合应用要求的物理结构，就是数据库的物理设计的主要内容。<br> 数据库的物理设计步骤通常分为两步：<br> （1）去诶的那个数据库的物理结构，在关系数据库中主要指存取方法和存储结构；<br> （2）对物理结构进行评价，评价的重点是时间效率和空间效率。</p></blockquote><ol start="14"><li>数据输入在实施阶段的重要性是什么？如何保证输入数据的正确性？</li></ol><blockquote><p>数据库是用来对数据进行存储、管理与应用的，因此在实施阶段必须将原有系统中的而历史数据输入到数据库。数据量一般都很大，而且数据来源于部门中的各个不同的单位。数据的组织方式、结构和格式都与新设计的数据库系统有相当的差距，组织数据录入就要将各类源数据从各个局部应用中抽取出来，分类转换，最后综合成符合新设计的数据库结构的形式，输入数据库。因此这样的数据转换、组织入库的工作是相当费力费时的工作。特别是原系统是手工数据处理系统时，各类数据分散在各种不同的原始表格、凭证、单据之中，数据输入工作量更大。<br> 保证输入数据正确性的方法：为提高数据输入工作的效率和质量，应该针对具体的应用环境设计一个数据录入子系统，由计算机来完成数据入库的任务。在源数据入库之前要采用多种方法对它们进行检验，以防止不正确的数据入库。</p></blockquote><ol start="15"><li>什么是数据库的再组织和重构造？为什么要进行数据库的再组织和重构造？</li></ol><blockquote><p>数据库的再组织是指：按原设计要求重新安排存储位置、回收垃圾、减少指针链等，以提高系统性能。<br> 数据库的重构造则是指部分修改数据库的模式和内模式，即修改原设计的逻辑和物理结构。数据库的再组织是不修改数据库的模式和内模式的。<br> 进行数据库的再组织和重构造的原因：数据库运行一段时间后，由于记录不断增、删、改，会使数据库的物理存储情况变坏，降低了数据的存取效率，数据库性能下降，这时DBA就要对数据库进行重组织。DBMS一般都提供用于数据重组织的实用程序。数据库应用环境常常发生变化，如增加新的应用或新的实体，取消了某些应用，有的实体与实体间的联系也发生了变化等，使原有的数据库设计不能满足新的需求，需要调整数据库的模式和内模式。这就要进行数据库重构造。</p></blockquote><h2 id="第九章-关系查询处理和查询优化" tabindex="-1">第九章：关系查询处理和查询优化 <a class="header-anchor" href="#第九章-关系查询处理和查询优化" aria-hidden="true">#</a></h2><ol><li>试述查询优化在关系数据库系统中的重要性和可能性</li></ol><blockquote><p>重要性：关系系统的查询优化既是RDBMS实现的关键技术又是关系系统的优点所在。它减轻了用户选择存取路径的负担。用户只要提出“干什么”，不必指出“怎么干”。查询优化的优点不仅在于用户不必考虑如何最好地表达查询以获得较好的效率，而且在于系统可以比用户程序的“优化”做的更好。<br> 可能性：这是因为：<br> （1）优化器可以从数据字典中获取许多统计信息，例如关系中的元组数、关系中每个属性值的分布情况、这些属性上是否有索引、是什么索引等。优化器可以根据这些信息选择有效的执行计划，而用户程序则难以获得这些信息。<br> （2）如果数据库的物理统计信息改变了，系统可以自动对查询进行重新优化以选择相适应的执行计划。在非关系系统中必须重写程序，而重写程序在实际应用中往往是不太可能的。<br> （3）优化器可以考虑数十甚至数百种不同的执行计划，从中选出较优的一个，而程序员一般只能考虑有限的几种可能性。<br> （4）优化器中包括了很多复杂的优化技术，这些优化技术往往只有最好的程序员才能掌握。系统的自动优化相当于使得所有人都拥有这些优化技术。</p></blockquote><ol start="2"><li>试述RDBMS查询优化的一般准则。</li></ol><blockquote><p>（1）选择运算应尽可能先做；<br> （2）把投影运算和选择运算同时进行；<br> （3）把投影和其前或其后的双目运算结合起来执行；<br> （4）把某些选择同在它前面要执行的笛卡尔积结合起来称为一个连接运算；<br> （5）找出公共子表达式；<br> （6）选取合适的连接算法。</p></blockquote><ol start="3"><li>试述查询优化的一般步骤。</li></ol><blockquote><p>（1）把查询转换成某种内部表示，通常用的内部表示是语法树。<br> （2）把语法树转换成标准（优化）形式。即利用优化算法，把原始的语法树转换成优化的形式。<br> （3）选择低层的存取路径。<br> （4）声称查询计划，选择代价最小的。</p></blockquote><h2 id="第十章-数据库恢复技术" tabindex="-1">第十章：数据库恢复技术 <a class="header-anchor" href="#第十章-数据库恢复技术" aria-hidden="true">#</a></h2><ol><li>试述事务的概念及事务的四个特性。恢复技术能保证事务的哪些特性？</li></ol><blockquote><p>事务是用户定义的一个数据库操作序列，这些操作要么全做要么全不做，是一个不可分割的工作单位。<br> 事务的四个特性：（书上P278—P279）<br> 恢复技术能保证事务的一致性、原子性与持续性。</p></blockquote><ol start="2"><li>为什么事务非正常结束时会影响数据库数据的正确性？</li></ol><blockquote><p>事务执行结果必须是使数据库从一个一致性状态变到另一个一致性状态。如果数据库系统运行中发生故障，有些事务尚未完成就被迫中断，这些未完成事务对数据库所做的修改有一部分已写入物理数据库，这时数据库就处于一种不正确的状态，或者说是不一致的状态。</p></blockquote><ol start="3"><li>数据库中为什么要有恢复子系统？它的功能是什么？</li></ol><blockquote><p>因为计算机系统中硬件的故障、软件的错误、操作员的失误以及恶意的破坏是不可避免的，这些故障轻则造成运行事务非正常中断，影响数据库中数据的正确性，重则破坏数据库，使数据库中全部或部分数据丢失，因此必须要有恢复子系统。<br> 恢复子系统的而功能是：把数据库从错误状态恢复到某一已知的正确状态，亦称为一致状态或完整状态。</p></blockquote><ol start="4"><li>数据库运行中可能产生的故障有哪几类？哪些故障影响事务的正常执行？哪些故障破坏数据库数据？</li></ol><blockquote><p>数据库系统中可能发生各种各样的故障，大致可以分以下几类：<br> （1）事务内部故障；<br> （2）系统故障；<br> （3）介质故障；<br> （4）计算机病毒。<br> 事务故障、系统故障和介质故障影响事务的正常执行；介质故障和计算机病毒破坏数据库数据。</p></blockquote><ol start="5"><li>数据库恢复的基本技术有哪些？</li></ol><blockquote><p>数据转储和登录日志文件是数据库恢复的基本技术。<br> 当系统运行过程中发生故障，利用转储的数据库后备副本和日志文件就可以将数据库恢复到故障前的某个一致性状态。</p></blockquote><ol start="6"><li>数据库转储的意义是什么？试比较各种数据转储方法。</li></ol><blockquote><p>数据转储是数据库恢复中采用的基本技术。所谓转储即DBA定期地将数据库复制到磁带或另一个磁盘上保存起来的过程。当数据库遭到破坏后可以将后备副本重新装入，将数据库恢复到转储时的状态。<br> 静态转储：在系统中无运行事务时进行的转储操作。静态转储简单，但必须等待正运行的用户事务结束才能进行。同样，新的事务必须等待转储结束才能执行。显然，这会降低数据库的可用性。<br> 动态转储：指转储期间允许对数据库进行存取和修改。动态转储可克服静态转储的缺点，它不用等待正在运行的用户事务结束，也不会影响新事务的运行。但是，转储结束时后援副本上的数据并不能保证正确有效。因为转储期间运行的事务可能修改了某些数据，使得后援副本上的数据不是数据库的一致版本。为此，必须把转储期间各事务对数据库的修改活动登记下来，建立日志文件。这样，后援副本加上日志文件就能得到数据库某一时刻的正确状态。<br> 转储还可以分为海量转储和增量转储两种方式。海量转储是指每次转储全部数据库。增量转储则指每次只转储上一次转储后更新过的数据。从恢复角度看，使用海量转储得到的后备副本进行恢复一般说来更简单些。但如果数据库很大，事务处理又十分频繁，则增量转储方式更实用更有效。</p></blockquote><ol start="7"><li>什么是日志文件？为什么要设立日志文件？</li></ol><blockquote><p>日志文件是用来记录事务对数据库的更新操作的文件。<br> 设立日志文件的目的是进行事务故障恢复；进行系统故障恢复；协助后备副本进行介质故障恢复。</p></blockquote><ol start="8"><li>等级日志文件时为什么必须先写日志文件，后写数据库？</li></ol><blockquote><p>（书上P284倒数第五行开始—P285第一行结束）</p></blockquote><ol start="9"><li>针对不同的故障，试给出恢复的策略和方法。</li></ol><blockquote><p>（书上P285页10.5）</p></blockquote><ol start="10"><li>什么是检查点记录？检查点记录包括哪些内容？</li></ol><blockquote><p>检查点记录是一类新的日志记录。它的内容包括：<br> （1）建立检查点时刻所有正在执行的事务清单；<br> （2）这些事务的最近一个日志记录的地址。</p></blockquote><ol start="11"><li>具有检查点的恢复技术有什么优点？</li></ol><blockquote><p>利用日志技术进行数据库恢复时，恢复子系统必须搜索日志，确定哪些事务需要REDO，哪些事务需要UNDO。一般来说，需要检查所有日志记录。这样做有两个问题：一是搜索整个日志将耗费大量的时间；二是很多需要REDO处理的事务实际上已经将它们的更新操作结果写到数据库中了，恢复子系统又重新执行了这些操作，浪费了大量时间。检查点技术就是为了解决这些问题。</p></blockquote><ol start="12"><li>试述使用检查点方法进行恢复的步骤。</li></ol><blockquote><p>（书上P288）</p></blockquote><ol start="13"><li>什么是数据库镜像？它由什么用途？</li></ol><blockquote><p>数据库镜像即根据DBA的要求，自动把整个数据库或者其中的部分关键数据复制到另一个磁盘上。每当主数据库更新时，DBMS自动把更新后的数据复制过去，即DBMS自动保证镜像数据与主数据的一致性。<br> 数据库镜像的用途有：一是用于数据库恢复。当出现介质故障时，可由镜像磁盘继续提供使用，同时DBMS自动利用镜像磁盘数据进行数据库的恢复，不需要关闭系统和重装数据库副本。二是提高数据库的可用性。在没有出现故障时，当一个用户对某个数据加排它锁进行修改时，其他用户可以读镜像数据库上的数据，而不必等待该用户释放锁。</p></blockquote><h2 id="第十一章-并发控制" tabindex="-1">第十一章：并发控制 <a class="header-anchor" href="#第十一章-并发控制" aria-hidden="true">#</a></h2><ol><li>在数据库中为什么要并发控制？并发控制技术能保证事务的哪些特性？</li></ol><blockquote><p>数据库是共享资源，通常有许多个事务同时在运行。当多个事务并发地存取数据库时就会产生同时读取和/或修改同一数据的情况。若对并发操作不加控制就可能会存取和存储不正确的数据，破坏数据库的一致性。所以数据库管理系统必须提供并发控制机制。并发控制技术能保证事务的隔离性和一致性。</p></blockquote><ol start="2"><li>并发操作可能会产生哪几类数据不一致？用什么方法能避免各种不一致的情况？</li></ol><blockquote><p>并发操作带来的数据不一致性包括三类：丢失修改、不可重复读和读“脏”数据。<br> 避免不一致的方法和技术就是并发控制。最常用的而技术是封锁技术。也可以用其他技术，例如分布式数据库系统中可以采用时间戳方法来进行并发控制。</p></blockquote><ol start="3"><li>什么是封锁？基本的封锁类型有几种？试述它们的含义。</li></ol><blockquote><p>封锁：（P294—P295）<br> 基本的封锁类型有两种：排它锁和共享锁。<br> 它们的含义：（P295）</p></blockquote><ol start="4"><li>如何用封锁机制保证数据的一致性？</li></ol><blockquote><p>（P296图11.4）</p></blockquote><ol start="5"><li>什么是活锁？试述活锁的产生原因和解决方法。</li></ol><blockquote><p>如果事务T1封锁了数据R，事务T2又请求封锁R，于是T2等待。T3也请求封锁R，当T1释放了R上的封锁之后系统首先批准了T3的请求，T2仍然等待。然后T4又请求封锁R，当T3释放了R上的封锁之后系统有批准了T4的请求……T2有可能永远等待，这就是活锁的情形。活锁的含义是该等待事务等待时间太长，似乎被锁住了，实际上可能被激活。<br> 活锁产生的原因：当一系列封锁不能按照其先后顺序执行时，就可能导致一些事务无限期等待某个封锁，从而导致活锁。<br> 避免活锁的简单方法是采用先来先服务的策略。当多个事务请求封锁同一数据对象时，封锁子系统按请求封锁的先后次序对事务排队，数据对象上的锁一旦释放就批准申请队列中第一个事务获得锁。</p></blockquote><ol start="6"><li>什么是死锁？请给出预防死锁的若干方法。</li></ol><blockquote><p>两个或多个事务都已封锁了一些数据对象，然后又都请求对已为其他事务封锁的数据对象加锁，从而出现了死等待，这就是死锁。预防死锁的发生其实就是要破坏产生死锁的条件。预防死锁通常有两种方法：一次封锁法和顺序封锁法。</p></blockquote><ol start="7"><li>请给出检测死锁发生的一种方法，当发生死锁后如何解除死锁？</li></ol><blockquote><p>DBMS中诊断死锁的方法与操作系统类似，一般使用超时法或事务等待图法。超时法是：如果一个事务的等待时间超过了规定的时限，就认为发生了死锁。超时法实现简单，但有可能误判死锁，事务因其他原因长时间等待超过时限时，系统会误认为发生了死锁。若时限设置得太长，又不能及时发现死锁发生。<br> DBMS并发控制子系统检测到死锁后，就要设法解除。通常采用的方法是选择一个处理死锁代价最小的事务，将其撤销，释放此事务持有的所有锁，使其他事务得以继续运行下去。当然，对撤销的事务所执行的数据修改操作必须加以恢复。</p></blockquote><ol start="8"><li>什么样的并发调度是正确的调度？</li></ol><blockquote><p>可串行化的调度是正确的调度。可串行化的调度的定义：多个事务的并发执行是正确的，当且仅当其结果与按某一次序串行执行它们时的结果相同，称这种调度策略为了串行化的调度。</p></blockquote><ol start="9"><li>为什么要引进意向锁？意向锁的含义是什么？</li></ol><blockquote><p>引进意向锁是为了提高封锁子系统的效率。该封锁子系统支持多种封锁粒度。原因是：在多粒度封锁方法中一个数据对象可能以两种方式加锁——显式封锁和隐式封锁。因此系统在对某一数据对象加锁时不仅要检查该数据对象上有无封锁与之冲突，还要检查其所有上级结点和所有下级结点，看申请的封锁是否与这些结点上的封锁冲突，显然，这样的检查方法效率低，为此引进了意向锁。<br> 意向锁的含义是：对任一结点加锁时，必须先对它的上层结点加意向锁。<br> 引进意向锁后，系统对某一数据对象加锁时不必逐个检查与下一级结点的封锁冲突了。例如，事务T要对关系R加X锁时，系统只要检查根结点数据库和R本身是否已加了不相容的锁，而不再需要搜索和检查R中的每一个元组是否加了X锁或S锁。</p></blockquote><ol start="10"><li>试述常用的意向锁：IS锁、IX锁、SIX锁，给出这些锁的相容矩阵。</li></ol><blockquote><p>(书上p304)</p></blockquote><ol start="11"><li>理解并解释下列术语的含义：封锁、活锁、死锁、排它锁、共享锁、并发事务的调度、可串行化的调度、冲突可串行化调度、两段锁协议。</li></ol></div></div></main><!--[--><!--]--><footer class="VPDocFooter" data-v-c5936a1e data-v-2813752b><!----><div class="prev-next" data-v-2813752b><div class="pager" data-v-2813752b><!----></div><div class="pager" data-v-2813752b><a class="pager-link next" href="/hyx-blog/summary/jw/" data-v-2813752b><span class="desc" data-v-2813752b>Next page</span><span class="title" data-v-2813752b>亿些知识点</span></a></div></div></footer><!--[--><!--]--></div></div></div></div></div><footer class="VPFooter has-sidebar" data-v-93a960b4 data-v-d24360a6><div class="container" data-v-d24360a6><!----><p class="copyright" data-v-d24360a6>Copyright © 2023-present 小胡</p></div></footer><!--[--><!--]--></div></div>
    <script>__VP_HASH_MAP__ = JSON.parse("{\"curriculum-vitae_index.md\":\"9717a642\",\"summary_introduce_index.md\":\"72c3b100\",\"index.md\":\"62e48206\",\"summary_jw_index.md\":\"91280764\",\"summary_sjk_index.md\":\"c1235dbf\"}")</script>
    <script type="module" async src="/hyx-blog/assets/app.ee67ddbc.js"></script>
    
  </body>
</html>